package com.xxr.mom.ci.charging.mapper.device;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xxr.mom.ci.charging.device.entity.Station;
import com.xxr.mom.ci.charging.dynamic.DB;
import com.xxr.mom.ci.charging.dynamic.DataSourceEnum;
import com.xxr.mom.ci.charging.interworking.vo.api.QueryStationsInfoRequest;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author natsuki_kining
 */
@Repository
@DB(DataSourceEnum.CI_CHARGING_DEVICE)
public interface StationMapper extends BaseMapper<Station> {

    /**
     * 根据站点最后更新时间分页查询
     *
     * @param page    站点分页条件
     * @param request 分页查询参数
     * @return 站点分页数据
     */
    Page<Station> page(Page<Station> page, @Param("request") QueryStationsInfoRequest request);

    /**
     * 根据站点编号查询站点数据
     *
     * @param stationNumbers
     * @return
     */
    List<Station> selectByNumbers(@Param("numbers") List<String> stationNumbers);

    Station selectByNumber(@Param("number") String stationNumber);

    /**
     * 根据互联互通配置id查询管理的站点
     * @param interworkingId 互联互通配置id
     * @return 站点列表（id,name,station_number）
     */
    List<Station> selectByInterworkingId(@Param("interworkingId") Long interworkingId);
}
